/*
@InterfaceName JobScheduleService
@Date      2022/7/31
@Description TODO
@Author    SubUp
@version   1.0
*/
package com.sunjob.mrojobschedule.service;

import com.sunjob.common.domain.scheduleServer.JobSchedule;
import com.sunjob.common.domain.scheduleServer.PlanSchedule;
import com.sunjob.common.domain.scheduleServer.orm.JobResult;
import com.sunjob.common.mroAnno.ControllerLog;
import com.sunjob.common.mroAnno.MethodVerify;

import java.util.List;

public interface JobScheduleService {
    /**
     * 查询原始作业管理数据
     * @param  pageId
     * @return 原始作业信息集合
     */
    public List<JobSchedule> selectJobList(String pageId);

    /**
     * 返回作业调度界面展示作业管理数据
     * @param pageId
     * @return
     */
    public List<JobResult> selectJobOrmList(String pageId);

    /**
     * 作业级别模糊查询作业调度信息
     * @param jobLevel
     * @return
     */
    public List<JobResult> selectJobOrmByJobLevel(String jobLevel,String pageId);

    /**
     * 作业反馈状态模糊查询作业调度信息
     * @param jobFeedBack
     * @return
     */
    public List<JobResult> selectJobOrmByJobFeedBack(String jobFeedBack,String pageId);

    /**
     * 技术员工号模糊查询作业调度信息
     * @param staffId
     * @return
     */
    public List<JobResult> selectJobOrmByStaffId(String staffId,String pageId);

    /**
     * 技术员姓名模糊查询作业调度信息
     * @param staffName
     * @return
     */
    public List<JobResult> selectJobOrmByStaffName(String staffName,String pageId);

    /**
     * 查询作业条数
     * @param jobLevel
     * @param jobFeedBack
     * @return 作业数量
     */
    public Integer selectJobCount(String jobLevel,String jobFeedBack);

    /**
     * 新增保存作业信息
     * @param job 作业信息
     * @return
     */
    public Integer insertJob(JobSchedule job);

    /**
     * 修改保存作业信息
     * @param job 作业信息
     * @return
     */
    public Integer updateJob(JobSchedule job);

    public Integer updateJobResult(JobResult jobResult);
    /**
     * 修改作业反馈状态
     * @param jobFeedBack
     * @param jobId
     * @return
     */
    public Integer updateJobFeedBack(String jobId,String jobFeedBack);

    /**
     * 修改作业级别
     * @param jobId
     * @param jobLevel
     * @return
     */
    public Integer updateJobLevel(String jobId,String jobLevel);

    /**
     *  删除保存作业信息
     * @param jobId
     * @return
     */
    public Integer deleteJob(String jobId);

    /**
     * 根据作业ID查询信息
     *
     * @param jobId 作业ID
     * @return
     */
    public List<JobResult> selectJobById(String jobId,String pageId);


}
